home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / glibc108.zip / glibc108 / sunrpc / rpc_scan.h < prev    next >
C/C++ Source or Header  |  1994-02-06  |  2KB  |  102 lines

  1. /* @(#)rpc_scan.h    2.1 88/08/01 4.0 RPCSRC */
  2. /*
  3.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  4.  * unrestricted use provided that this legend is included on all tape
  5.  * media and as a part of the software program in whole or part.  Users
  6.  * may copy or modify Sun RPC without charge, but are not authorized
  7.  * to license or distribute it to anyone else except as part of a product or
  8.  * program developed by the user.
  9.  * 
  10.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  11.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  12.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  13.  * 
  14.  * Sun RPC is provided with no support and without any obligation on the
  15.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  16.  * modification or enhancement.
  17.  * 
  18.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  19.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  20.  * OR ANY PART THEREOF.
  21.  * 
  22.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  23.  * or profits or other special, indirect and consequential damages, even if
  24.  * Sun has been advised of the possibility of such damages.
  25.  * 
  26.  * Sun Microsystems, Inc.
  27.  * 2550 Garcia Avenue
  28.  * Mountain View, California  94043
  29.  */
  30. /* @(#)rpc_scan.h 1.3 87/03/09 (C) 1987 SMI */
  31.  
  32. /*
  33.  * rpc_scan.h, Definitions for the RPCL scanner 
  34.  * Copyright (C) 1987, Sun Microsystems, Inc. 
  35.  */
  36.  
  37. /*
  38.  * kinds of tokens 
  39.  */
  40. enum tok_kind {
  41.     TOK_IDENT,
  42.     TOK_STRCONST,
  43.     TOK_LPAREN,
  44.     TOK_RPAREN,
  45.     TOK_LBRACE,
  46.     TOK_RBRACE,
  47.     TOK_LBRACKET,
  48.     TOK_RBRACKET,
  49.     TOK_LANGLE,
  50.     TOK_RANGLE,
  51.     TOK_STAR,
  52.     TOK_COMMA,
  53.     TOK_EQUAL,
  54.     TOK_COLON,
  55.     TOK_SEMICOLON,
  56.     TOK_CONST,
  57.     TOK_STRUCT,
  58.     TOK_UNION,
  59.     TOK_SWITCH,
  60.     TOK_CASE,
  61.     TOK_DEFAULT,
  62.     TOK_ENUM,
  63.     TOK_TYPEDEF,
  64.     TOK_INT,
  65.     TOK_SHORT,
  66.     TOK_LONG,
  67.     TOK_UNSIGNED,
  68.     TOK_FLOAT,
  69.     TOK_DOUBLE,
  70.     TOK_OPAQUE,
  71.     TOK_CHAR,
  72.     TOK_STRING,
  73.     TOK_BOOL,
  74.     TOK_VOID,
  75.     TOK_PROGRAM,
  76.     TOK_VERSION,
  77.     TOK_EOF
  78. };
  79. typedef enum tok_kind tok_kind;
  80.  
  81. /*
  82.  * a token 
  83.  */
  84. struct token {
  85.     tok_kind kind;
  86.     char *str;
  87. };
  88. typedef struct token token;
  89.  
  90.  
  91. /*
  92.  * routine interface 
  93.  */
  94. void scanprint();
  95. void scan();
  96. void scan2();
  97. void scan3();
  98. void scan_num();
  99. void peek();
  100. int peekscan();
  101. void get_token();
  102.